<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			/*
			 *	数据类型指的是字面量的类型
			 * 	在JS中一共有6中数据类型
			 * 		String 字符串
			 * 		Number 数字
			 * 		Boolean 布尔值
			 * 		Null 空值
			 * 		Undefined 未定义
			 * 		Object 对象
			 * 
			 * 
			 * 	其中String Number Boolean Null Undefined 都属于 基本数据类型
			 * 	而Objiect 属于引用型数据类型
			 */
			
			/*.
			 * 	String 字符串
			 *  	1.在JS中字符串需要用引号引起来
			 * 		2.使用双引号或者单引号都可以，但是不要混着用
			 * 		3.需要表示特殊符号的时候使用\作为转义符
			 * 			\	转义符
			 * 			\n	换行
			 * 			\t	制表符
			 */
			
			var str = 'Hello';
			// 需要嵌套
			str = "我说:\"今天起真不错\"";
			
			console.log(str);
			
			/*
			 *  Number 
			 *  	1.在JS中所有数字都是Number类型
			 *  	2.在JS中可以用 
			 * 			MAX_VALUE 表示最大值
			 *		    MIN_VALUE 表示最小值
			 * 				Number.Max_VALUE  -->  1.7976931348623157e+308
			 * 				Number.Min_VALUE  -->  5e-324
			 * 			如果超过时,则返回一个 
			 * 				+Infinity  正无穷
			 * 				-Infinity  负无穷
			 * 		3.NaN 是一个特殊的数字，表示 Not A Number
			 * 			使用 typeof 检查一个NaN也会返回一个 number
			 * 		4.在JS中整数运算基本可以保证精度
			 * 				浮点元素，可能得到一个不精确的结果
			 */	
			
			// typeof a 检查数据类型
			var num = 3;
			
			// 最 大/小 值
			console.log(Number.MAX_VALUE);
			console.log(Number.MIN_VALUE);
			
			// 非数字进行运算
			num = 'abc' * 'bac';
			
			// 整数运算  精度可以保证
			num  = 1 + 2;
			
			// 浮点运算进度可能不精确
			num = 0.1 + 0.2;
			
			console.log(num);
			console.log(typeof num);
			
			/*
			 * 	Boolean 布尔值
			 * 		布尔值只有两种可能
			 * 			true 真
			 * 			false 假
			 */
			
			var bool = true;
			
			console.log(bool);
			console.log(typeof bool);
			
			/*
			 *  Null 类型
			 *  1.null 这个值用来 表示一个为空的对象
			 *  2.typeof 检查事返回一个 object 对象
			 * 
			 *  Undefind 未定义
			 *  1.Undefind 这个关键字用来 表示未定义
			 *  2.typeof 检查事返回一个 Undefind
			 */
			
			var a = null;
			
			console.log(a);
			console.log(typeof a);
			
			var b = undefined;
			console.log(b)
			console.log(typeof b);
			
		</script>
	</head>
	<body>
	</body>
</html>
